<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <title>
   abel的回复  | 数螺 | NAUT IDEA
  </title>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
  <style type="text/css">
   #xmain img {
                  max-width: 100%;
                  display: block;
                  margin-top: 10px;
                  margin-bottom: 10px;
                }

                #xmain p {
                    line-height:150%;
                    font-size: 16px;
                    margin-top: 20px;
                }

                #xmain h2 {
                    font-size: 24px;
                }

                #xmain h3 {
                    font-size: 20px;
                }

                #xmain h4 {
                    font-size: 18px;
                }


                .header {
	           background-color: #0099ff;
	           color: #ffffff;
	           margin-bottom: 20px;
	        }

	        .header p {
                  margin: 0px;
                  padding: 10px 0;
                  display: inline-block;  
                  vertical-align: middle;
                  font-size: 16px;
               }

               .header a {
                 color: white;
               }

              .header img {
                 height: 25px;
              }
  </style>
  <script src="http://cdn.bootcss.com/jquery/3.0.0/jquery.min.js">
  </script>
  <script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">
   MathJax.Hub.Config({elements: ["bbpress-forums"]});
  </script>
  <script src="http://nautstatic-10007657.file.myqcloud.com/static/css/readability.min.js" type="text/javascript">
  </script>
  <script type="text/javascript">
   $(document).ready(function() {
                 var loc = document.location;
                 var uri = {
                  spec: "http://cos.name/cn/profile/123/replies/page/12/",
                  host: "http://cos.name",
                  prePath: "http://cos.name",
                  scheme: "http",
                  pathBase: "http://cos.name/"
                 };
    
                 var documentClone = document.cloneNode(true);
                 var article = new Readability(uri, documentClone).parse();
     
                 document.getElementById("xmain").innerHTML = article.content;
                });
  </script>
  <!-- 1466460162: Accept with keywords: (title(0.0):论坛, topn(0.233333333333):收益率,息率,股本,帖子,债券,价格,过程,A股,缺失值,省略,世武,结果,例子,时间序列,计算,金融,建议,函数,算法,时候,对数,个股,版主,功能,方法,代码,主题,系统,原书,兴趣).-->
 </head>
 <body class="bbp-user-page single singular bbpress paged-12 single-author sidebar" onload="">
  <div class="header">
   <div class="container">
    <div class="row">
     <div class="col-xs-6 col-sm-6 text-left">
      <a href="/databee">
       <img src="http://nautidea-10007657.cos.myqcloud.com/logo_white.png"/>
      </a>
      <a href="/databee">
       <p>
        数螺
       </p>
      </a>
     </div>
     <div class="hidden-xs col-sm-6 text-right">
      <p>
       致力于数据科学的推广和知识传播
      </p>
     </div>
    </div>
   </div>
  </div>
  <div class="container text-center">
   <h1>
    abel的回复
   </h1>
  </div>
  <div class="container" id="xmain">
   <div class="hfeed site" id="page">
    <header class="site-header" id="masthead" role="banner">
     <div id="cos-logo">
      <a href="http://cos.name/cn">
       <img src="http://cos.name/cn/wp-content/themes/COS-forest/images/headers/cos-logo.png"/>
      </a>
     </div>
     <div class="navbar" id="navbar">
      <nav class="navigation main-navigation" id="site-navigation" role="navigation">
       <h3 class="menu-toggle">
        菜单
       </h3>
       <div class="menu-%e8%8f%9c%e5%8d%951-container">
        <ul class="nav-menu" id="menu-%e8%8f%9c%e5%8d%951">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-407772" id="menu-item-407772">
          <a href="http://cos.name/cn/">
           论坛首页
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-407773" id="menu-item-407773">
          <a href="http://cos.name/cn/forums/">
           讨论区
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-407774" id="menu-item-407774">
          <a href="http://cos.name/cn/wp-login.php?action=register">
           注册
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-407819" id="menu-item-407819">
          <a href="http://cos.name/">
           主站
          </a>
         </li>
        </ul>
       </div>
      </nav>
      <!-- #site-navigation -->
     </div>
     <!-- #navbar -->
    </header>
    <!-- #masthead -->
    <div class="site-main" id="main">
     <div class="content-area" id="primary">
      <div class="site-content" id="content" role="main">
       <article class="post-0 type- status-publish hentry" id="post-0">
        <header class="entry-header">
         <h1 class="entry-title">
          abel
         </h1>
        </header>
        <!-- .entry-header -->
        <div class="entry-content">
         <div id="bbpress-forums">
          <div id="bbp-user-wrapper">
           <div id="bbp-single-user-details">
            <div id="bbp-user-avatar">
             <span class="vcard">
              <a class="url fn n" href="http://cos.name/cn/profile/123/" rel="me" title="abel">
               <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=150&amp;d=monsterid&amp;r=g"/>
              </a>
             </span>
            </div>
            <!-- #author-avatar -->
            <div id="bbp-user-navigation">
             <ul>
              <li class="">
               <span class="vcard bbp-user-profile-link">
                <a class="url fn n" href="http://cos.name/cn/profile/123/" rel="me" title="abel的档案">
                 档案
                </a>
               </span>
              </li>
              <li class="">
               <span class="bbp-user-topics-created-link">
                <a href="http://cos.name/cn/profile/123/topics/" title="abel发起的主题">
                 发起的主题
                </a>
               </span>
              </li>
              <li class="current">
               <span class="bbp-user-replies-created-link">
                <a href="http://cos.name/cn/profile/123/replies/" title="abel创建的回复">
                 创建的回复
                </a>
               </span>
              </li>
              <li class="">
               <span class="bbp-user-favorites-link">
                <a href="http://cos.name/cn/profile/123/favorites/" title="abel的收藏夹">
                 收藏夹
                </a>
               </span>
              </li>
             </ul>
            </div>
            <!-- #bbp-user-navigation -->
           </div>
           <!-- #bbp-single-user-details -->
           <div id="bbp-user-body">
            <div class="bbp-user-replies-created" id="bbp-user-replies-created">
             <h2 class="entry-title">
              回复的主题
             </h2>
             <div class="bbp-user-section">
              <div class="bbp-pagination">
               <div class="bbp-pagination-count">
                查看 15 个帖子 - 166 到 180（总计 871 个）
               </div>
               <div class="bbp-pagination-links">
                <a class="prev page-numbers" href="http://cos.name/cn/profile/123/replies/page/11/">
                 ←
                </a>
                <a class="page-numbers" href="http://cos.name/cn/profile/123/replies/">
                 1
                </a>
                <span class="page-numbers dots">
                 …
                </span>
                <a class="page-numbers" href="http://cos.name/cn/profile/123/replies/page/11/">
                 11
                </a>
                <span class="page-numbers current">
                 12
                </span>
                <a class="page-numbers" href="http://cos.name/cn/profile/123/replies/page/13/">
                 13
                </a>
                <span class="page-numbers dots">
                 …
                </span>
                <a class="page-numbers" href="http://cos.name/cn/profile/123/replies/page/59/">
                 59
                </a>
                <a class="next page-numbers" href="http://cos.name/cn/profile/123/replies/page/13/">
                 →
                </a>
               </div>
              </div>
              <ul class="forums bbp-replies" id="topic-0-replies">
               <li class="bbp-header">
                <div class="bbp-reply-author">
                 作者
                </div>
                <!-- .bbp-reply-author -->
                <div class="bbp-reply-content">
                 帖子
                </div>
                <!-- .bbp-reply-content -->
               </li>
               <!-- .bbp-header -->
               <li class="bbp-body">
                <div class="bbp-reply-header" id="post-270384">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年5月12日 上午4:10
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/15235/">
                    个人建议的SPSS学习方法
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/15235/#post-270384">
                   2 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-270384 -->
                <div class="odd bbp-parent-forum-997 bbp-parent-topic-15235 bbp-reply-position-2 user-id-123 topic-author post-270384 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   P.S.
                   <br/>
                   如果理论知识具备了，熟悉了SPSS具体算法，其他的软件应该很容易搞定了。
                   <br/>
                   不过类似SAS这种自己的语法比较“自我”的，在习惯其编程方法的过程中，倒是需要花不少功夫。
                   <br/>
                   同时，学习、分析、揣摩和总结经典的case studies是学习非常重要的一环，不过似乎很多人不太重视。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-270382">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年5月12日 上午4:06
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/15230/">
                    统计学的一个问题
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/15230/#post-270382">
                   2 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-270382 -->
                <div class="even bbp-parent-forum-999 bbp-parent-topic-15230 bbp-reply-position-2 user-id-123 post-270382 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   中心极限定理是要满足一定条件的。
                  </p>
                  <p>
                   你的帖子似乎没有提供足够信息，不好判定。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-270197">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年5月9日 上午6:01
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/14936/">
                    朱世武《基于SAS系统的金融计算》书中功能用R的实现
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/14936/page/2/#post-270197">
                   18 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-270197 -->
                <div class="odd bbp-parent-forum-1015 bbp-parent-topic-14936 bbp-reply-position-18 user-id-123 topic-author post-270197 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <pre class="highlight "># 原书中为ARMA(1, 0)-GARCH(1, 1)型
require(fGarch)
fit1 &lt;- garchFit(~arma(1, 0)+garch(1, 1), data=log.ret$r1a0001)
fit2 &lt;- garchFit(~arma(1, 0)+garch(1, 1), data=log.ret$r600652)
(vol.1 &lt;- fit1@sigma.t)
(vol.2 &lt;- fit2@sigma.t)
</pre>
                  <p>
                   这里Abel再给一个建议：
                   <br/>
                   对金融计算和建模有兴趣的人，如果将Rmetrics系列包认真看一遍，并将其中的例子用心揣摩，明白其实质。那么，基本上有九成把握可以说，你可以胜任现在主流的金融计算和建模的工作。
                  </p>
                  <p>
                   此外，在R的stats包中有一个叫convolve的函数，变化下做可以实现sma，ewma；有兴趣的同志自己试一试，记得我在什么地方写过关于这个函数的一个小介绍的。[s:13]
                  </p>
                  <p>
                   接着，书中给出了这三种方法计算得到波动率以后作图比较，对R来说，直接使用ts.plot即可，毋庸赘述啦。
                  </p>
                  <p>
                   书中随后给出了多个股票波动计算的代码，其实在R中，你用一个for循环，一切搞定，所做的不过是把上面的形式写成一个函数而已，如：
                   <br/>
                   for(dat in datas) sma(dat, …)然后，世界就太平了。
                  </p>
                  <p>
                   在第三节，介绍了资产组合收益波动率的计算。其实可以分解为两步走：（1）计算组合收益率；（2）计算该收益率的波动率。计算组合收益率的过程在前面章节已经给出了，而这章给出了计算收益率波动率的函数，这样简单的功能相加，就可以得到我们需要的结果了。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-270135">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年5月8日 下午2:59
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/14936/">
                    朱世武《基于SAS系统的金融计算》书中功能用R的实现
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/14936/page/2/#post-270135">
                   17 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-270135 -->
                <div class="even bbp-parent-forum-1015 bbp-parent-topic-14936 bbp-reply-position-17 user-id-123 topic-author post-270135 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <pre class="highlight "># Chapter5：收益率波动计算

log.ret &lt;- read.csv("D:/data/SAS_Data/2004/logRet.csv")

# Simple moving average
sma &lt;- function(x, n=20){
    if(length(x) &lt;= n) return(0)
    rslt &lt;- rep(NA, length(x))
    for(i in 21:length(x)){
        rslt[i] &lt;- sqrt(sum(x[(i-n+1):i])/(n-1))
    }
    return(rslt)
}

sma(log.ret$rr1a0001)[21:30]
sma(log.ret$rr600652)[21:30]

# Expoential Weighted Moving Average
ewma &lt;- function(x, w=0.94){
    if(length(x) &lt;= 2) return(0)
    rslt &lt;- rep(NA, length(x))
    rslt[2] &lt;- x[2]
    for(i in 3:length(x)){
        rslt[i] &lt;- w*x[i-1] + (1-w)*x[i]
    }
    return(sqrt(rslt))
}
ewma(log.ret$rr1a0001)[2:10]
ewma(log.ret$rr600652)[2:10]

# GARCH(1, 1)
require(tseries)
fit1 &lt;- garch(log.ret$r1a0001)
fit2 &lt;- garch(log.ret$r600652)
fit1$fitted.values[, 1]
fit2$fitted.values[, 1]
</pre>
                  <p>
                   在R的tseries包非常强悍，建议对时间序列和金融数据处理有兴趣的人重点关注下。
                  </p>
                  <p>
                   顺便说下对原书的感觉：（1）SAS代码编写思路不够清晰；（2）代码的编写都没indent，及其不方便阅读，到处是省略RUN，而SAS社区建议在一个功能后都加上这个statement，表示其功能的结束；（3）部分内容有错误嫌疑；（4）违背了代码重用原则，导致书中大量功能相同的代码重复出现！
                  </p>
                  <p>
                   这里建议有兴趣的同志，用其他软件依照原书中的公式计算下，看看是不是有问题！
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-270134">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年5月8日 下午2:57
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/14936/">
                    朱世武《基于SAS系统的金融计算》书中功能用R的实现
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/14936/page/2/#post-270134">
                   16 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-270134 -->
                <div class="odd bbp-parent-forum-1015 bbp-parent-topic-14936 bbp-reply-position-16 user-id-123 topic-author post-270134 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <pre class="highlight "># header.csv与shares.csv
# header:    f0001——股票代码
#        f0002——交易所用代码
#        f0003——股票种类
#        f0004——股票名称
# shares:    f0001——股票代码
#        gb002——股票变动日
#        gb004——总股本
#        A股国家法人股=国家股+境内发起人法人股=gb008+gb009
#        A股总股本=总股本-B股总股本-H股总股本
#        A股流通股=gb016

header &lt;- read.csv("D:/data/SAS_Data/2004/header_genius.csv")
header &lt;- header[header$F0003=='A' &amp; !is.na(header$F0002), ]
shares &lt;- read.csv("D:/data/SAS_Data/2004/shares_genius.csv")[, c(4, 6, 9, 13, 14, 21, 22, 23)]

stks &lt;- merge(header, shares)
# Sys.setlocale("LC_TIME", "C")    # 设置LC时间格式，在国内使用的时候，R默认设置并非如此！

stks$date &lt;- as.Date(substr(stks$Gb002, 1, 9), "%d%b%Y") 

stks.1 &lt;- stks[stks$date &lt;= as.Date("2000-12-31"), ]
stks.1 &lt;- stks.1[order(stks.1$F0001, stks.1$date), ]

ind &lt;- cumsum(tapply(stks.1$F0001, stks.1$F0001, length))
# ind &lt;- cumsum(as.numeric(table(stks.1$F0001)))
stks.1 &lt;- stks.1[ind, ]
(sums &lt;- sapply(stks.1[, c(6:11)], function(x) sum(as.numeric(x), na.rm=TRUE)))

(sum.state &lt;- sums["Gb008"] + sums["Gb009"])
(sum.all &lt;- sums["Gb004"] - sums["Gb017"] - sums["Gb018"])
(sum.pub &lt;- sums["Gb016"])
(ratio.state &lt;- sum.state/sum.all)
(ratio.pub &lt;- sum.pub/sum.all)
c(sum.all, sum.state, sum.pub, ratio.state, ratio.pub)

# 截止2001年8月31日
stks.1 &lt;- stks[stks$date &lt;= as.Date("2001-08-31"), ]
stks.1 &lt;- stks.1[order(stks.1$F0001, stks.1$date), ]

ind &lt;- cumsum(tapply(stks.1$F0001, stks.1$F0001, length))
# ind &lt;- cumsum(as.numeric(table(stks.1$F0001)))
stks.1 &lt;- stks.1[ind, ]
(sums &lt;- sapply(stks.1[, c(6:11)], function(x) sum(as.numeric(x), na.rm=TRUE)))

(sum.state &lt;- sums["Gb008"] + sums["Gb009"])
(sum.all &lt;- sums["Gb004"] - sums["Gb017"] - sums["Gb018"])
(sum.pub &lt;- sums["Gb016"])
(ratio.state &lt;- sum.state/sum.all)
(ratio.pub &lt;- sum.pub/sum.all)
c(sum.all, sum.state, sum.pub, ratio.state, ratio.pub)

</pre>
                  <p>
                   # 后续过程省略，因为（1）所需过程和第一个例子雷同，简单重复意义不大；（2）书中所使用代码庞杂，不足取。
                   <br/>
                   # 请注意，在R中，可将上述过程写为函数，进而完成这些过程；通过比较也能发现，R在数据预处理任务上有极大的灵活性和方便性。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-270104">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年5月8日 上午8:09
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/15173/">
                    请教，取对数会消除相关性吗？
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/15173/#post-270104">
                   6 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-270104 -->
                <div class="even bbp-parent-forum-991 bbp-parent-topic-15173 bbp-reply-position-6 user-id-123 post-270104 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   某些条件下，对数（改变刻度）后，Pearson相关系数确实会发生变化。简单可以理解为，不相关的就是两条直线垂直，完全相关就是平行（正负都算）。对数以后，在直角坐标系中，夹角变小了不是，这就意味着相关系数不就要小点了么？
                  </p>
                  <p>
                   当然，这是直观的解释而已。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-270103">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年5月8日 上午7:55
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/15195/">
                    300美元的R编程工作（不知是不是作业）
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/15195/#post-270103">
                   2 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-270103 -->
                <div class="odd bbp-parent-forum-999 bbp-parent-topic-15195 bbp-reply-position-2 user-id-123 post-270103 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   从这个邮箱的名称来猜下，估计不是学生了吧。
                  </p>
                  <p>
                   倒是想知道题目具体啥内容。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-269130">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年4月28日 上午5:14
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/14936/">
                    朱世武《基于SAS系统的金融计算》书中功能用R的实现
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/14936/#post-269130">
                   14 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-269130 -->
                <div class="even bbp-parent-forum-1015 bbp-parent-topic-14936 bbp-reply-position-14 user-id-123 topic-author post-269130 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   回12L的zuozuo1983，编这样一本入门书倒不用花太多功夫，教学上也用得上。不过开这种课的地方应该不多；书要编的合用，要求还是颇高；先找机会在教学中走一遍看看效果了再考虑出书吧。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-269125">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年4月28日 上午3:56
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/15040/">
                    很疑惑很疑惑，算法实现问题
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/15040/#post-269125">
                   2 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-269125 -->
                <div class="odd bbp-parent-forum-991 bbp-parent-topic-15040 bbp-reply-position-2 user-id-123 post-269125 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   SAS中的PROC IML可以自己来实现想要的算法，如果真这么干，不如用Matlab或者R来做
                  </p>
                  <p>
                   至于算法好坏，可以通过专门的算法分析来做的，这个和具体哪个软件来做就不太相关了。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-269124">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年4月28日 上午3:53
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/15041/">
                    想把一个非平稳时间序列划分成分段平稳的序列，请问有什么准则吗？
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/15041/#post-269124">
                   3 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-269124 -->
                <div class="even bbp-parent-forum-991 bbp-parent-topic-15041 bbp-reply-position-3 user-id-123 post-269124 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   不错的主意呢
                  </p>
                  <p>
                   建议滚动检验下，自己设定准则就好了。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-269123">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年4月28日 上午3:51
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/15036/">
                    弱弱的问一下，PROC IML是SAS的一个宏吗？
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/15036/#post-269123">
                   2 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-269123 -->
                <div class="odd bbp-parent-forum-998 bbp-parent-topic-15036 bbp-reply-position-2 user-id-123 post-269123 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   SAS中的矩阵运算语言
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-268936">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年4月26日 下午2:07
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/14936/">
                    朱世武《基于SAS系统的金融计算》书中功能用R的实现
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/14936/#post-268936">
                   11 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-268936 -->
                <div class="even bbp-parent-forum-1015 bbp-parent-topic-14936 bbp-reply-position-11 user-id-123 topic-author post-268936 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <pre class="highlight "># Data set Files process
path &lt;- "D:/data/SAS_Data/2004/Stoindiv"
fls &lt;- dir(path)
ind &lt;- substr(fls, 1, 2)
shanghai.indv &lt;- fls[ind=="a6"]
shenzhen.indv &lt;- fls[ind=="a0"]
for(fl in shanghai.indv)
    file.copy(from=file.path("D:/data/SAS_Data/2004/Stoindiv", fl), to=file.path("D:/data/SAS_Data/2004/Stoindiv/shanghai", fl))
for(fl in shenzhen.indv)
    file.copy(from=file.path("D:/data/SAS_Data/2004/Stoindiv", fl), to=file.path("D:/data/SAS_Data/2004/Stoindiv/shenzhen", fl))

# Some SAS procs to transform datasets in SAS into CSV files

for(fl in shanghai.indv)
    file.remove(file.path("D:/data/SAS_Data/2004/Stoindiv/shanghai", fl))
for(fl in shenzhen.indv)
    file.remove(file.path("D:/data/SAS_Data/2004/Stoindiv/shenzhen", fl))


##################################
rtn.log &lt;- function(price){
    x &lt;- price
    r_log &lt;- c(NA, diff(log(x)))
    return(r_log)
}

ShanghaiPath &lt;- "D:/data/SAS_Data/2004/Stoindiv/shanghai"
ShenzhenPath &lt;- "D:/data/SAS_Data/2004/Stoindiv/shenzhen"
Shanghai.fls &lt;- dir(ShanghaiPath)
Shenzhen.fls &lt;- dir(ShenzhenPath)

# 上证指数
setwd("D:/data")
a1a0001 &lt;- read.csv("a1a0001.csv", stringsAsFactors=F)[, c("date", "Clpr")]
names(a1a0001) &lt;- c("date", "idx")
a1a0001$date &lt;- as.Date(a1a0001$date)
# 1995年至2000年的数据
ind &lt;- a1a0001$date &lt;= as.Date("2000-12-31") &amp; a1a0001$date &gt;= as.Date("1995-12-29")
a1a0001 &lt;- a1a0001[ind,]    # 共1214个交易日

setwd(ShanghaiPath)    # 沪市个股处理
sh.rtn &lt;- matrix(NA, nrow=nrow(a1a0001) - 1 , ncol=length(Shanghai.fls))
colnames(sh.rtn) &lt;- Shanghai.fls
rownames(sh.rtn) &lt;- as.character(a1a0001$date[-1])
for(fl in Shanghai.fls){
    dat &lt;- read.csv(fl, stringsAsFactors=F)
    dat$date &lt;- as.Date(dat$date)
    dat &lt;- merge(dat, a1a0001, all.y=T)        # 使用指数来确定交易日，个股会停牌等
    r.log &lt;- rtn.log(dat$Clpr)

    inds &lt;- apply(dat[, c(4:6, 8:10)], 1, function(x)!any(is.na(x)))
    inds &lt;- (1:nrow(dat))[inds]
    inds &lt;- inds[inds &gt; 1]

    attach(dat)
    for(ind in inds){
        clpr_adj &lt;- Clpr[ind]*(1 + divrat[ind] + Rigrat[ind] + reisvol[ind]/shrout[ind-1]) 
            - rigpr[ind]*Rigrat[ind] - reispr[ind]*reisvol[ind]/shrout[ind-1] + divamt[ind]
        r.log[ind] &lt;- log(clpr_adj) - log(Clpr[ind-1])
    }
    detach()
    sh.rtn[,fl] &lt;- r.log[-1]
}
ind &lt;- apply(sh.rtn, 1, function(x) all(is.na(x)))    # 选出收益率全部是缺失值的日期
sh.rtn &lt;- sh.rtn[!ind, ]

setwd(ShenzhenPath)    # 深市个股处理
sz.rtn &lt;- matrix(NA, nrow=nrow(a1a0001) - 1 , ncol=length(Shenzhen.fls))
colnames(sz.rtn) &lt;- Shenzhen.fls
rownames(sz.rtn) &lt;- as.character(a1a0001$date[-1])
for(fl in Shenzhen.fls){
    dat &lt;- read.csv(fl, stringsAsFactors=F)
    dat$date &lt;- as.Date(dat$date)
    dat &lt;- merge(dat, a1a0001, all.y=T)        # 使用指数来确定交易日，个股会停牌等
    r.log &lt;- rtn.log(dat$Clpr)

    inds &lt;- apply(dat[, c(4:6, 8:10)], 1, function(x)!any(is.na(x)))
    inds &lt;- (1:nrow(dat))[inds]
    inds &lt;- inds[inds &gt; 1]

    attach(dat)
    for(ind in inds){
        clpr_adj &lt;- Clpr[ind]*(1 + divrat[ind] + Rigrat[ind] + reisvol[ind]/shrout[ind-1]) 
            - rigpr[ind]*Rigrat[ind] - reispr[ind]*reisvol[ind]/shrout[ind-1] + divamt[ind]
        r.log[ind] &lt;- log(clpr_adj) - log(Clpr[ind-1])
    }
    detach()
    sz.rtn[,fl] &lt;- r.log[-1]
}
ind &lt;- apply(sz.rtn, 1, function(x) all(is.na(x)))    # 选出收益率全部是缺失值的日期
sz.rtn &lt;- sz.rtn[!ind, ]
setwd("D:/data")

write.csv(sh.rtn, file="ShRtn.csv", row.names=F)
write.csv(sz.rtn, file="SzRtn.csv", row.names=F)




# 随机选择20只股票，并赋权重，计算组合的收益率
set.seed(12345)
wts &lt;- runif(20, 0, 1)
# wts &lt;- wts/sum(wts) 其实这步不需要
set.seed(12345)
stk.smp &lt;- sh.rtn[, sample(Shanghai.fls, 20)]
port.rtn &lt;- apply(stk.smp, 1, function(x) mean(x, weight=wts, na.rm=T))
ts.plot(port.rtn)

# 两市合并后再做
rtn &lt;- cbind(sh.rtn, sz.rtn)
# 下面省略若干
</pre>
                  <p>
                   从上面的过程不难看出，R批量处理的时候使用循环，远远要比SAS中方便。不过当把所有数据存为SAS的一个datset的时候，可以使用by来一次处理，不过通常遇到的数据文件也许很多个，这样使用R效率就极大提高了。
                   <br/>
                   值得提醒的是，上述代码之所以这种形式，主要是为了和原书思路一致，并未做优化。
                  </p>
                  <p>
                   BTW：帖子的材料可以随意用，只要注明“转自cos论坛Abel”即可；欢迎大家提出批评意见和建议，尤其欢迎大家讨论金融计算和模型相关的内容，不拘是C++、Matlab、SAS或者其他什么。
                  </p>
                  <p>
                   从上面的代码不难看出
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-268918">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年4月26日 上午8:50
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/14936/">
                    朱世武《基于SAS系统的金融计算》书中功能用R的实现
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/14936/#post-268918">
                   10 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-268918 -->
                <div class="odd bbp-parent-forum-1015 bbp-parent-topic-14936 bbp-reply-position-10 user-id-123 topic-author post-268918 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   回复5Ldanielbaggio 的问题：
                   <br/>
                   SAS中有GUI方式可以用来做证券计算的，在SAS/ETS模块中也有proc可以来完成，而并非大家看到的一些资料中自己编写代码来完成的。
                   <br/>
                   此外，Matlab中也有Financial toolbox等金融计算相关的工具包若，而且做的相当完善。
                  </p>
                  <p>
                   我给出的例子，只是用R来一步一步介绍如何计算，未使用R中现成pkgs中的函数，而Rmetrics系列包中，通常需要的功能都有了的。
                  </p>
                  <p>
                   VaR的back testing在R中早就实现了，你在R资料中搜索下就能知道了——一句话，大部分知道的方法R中已经有现成的了；少部分我们不知道的方法中的绝大部分已经在R中实现了。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-268908">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年4月26日 上午6:18
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/14936/">
                    朱世武《基于SAS系统的金融计算》书中功能用R的实现
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/14936/#post-268908">
                   9 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-268908 -->
                <div class="even bbp-parent-forum-1015 bbp-parent-topic-14936 bbp-reply-position-9 user-id-123 topic-author post-268908 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   # Example 3.11 债券价格与必要收益率
                   <br/>
                   票面价值1000，必要收益率从5%到14%，票息率为9%的20年期债券价格
                   <br/>
                   cf &lt;- c(rep(45, 39), 1045)
                   <br/>
                   yeild &lt;- (5:14)/100
                   <br/>
                   (price &lt;- sapply(yeild, function(x) sum(cf*(1/(1+x/2))^(1:40))))
                   <br/>
                   结果为：1502.0555 1346.7216 1213.5507 1098.9639 1000.0000  914.2046  839.5388  774.3055  717.0895  666.7073
                   <br/>
                   plot(yeild, price, type="b", ylim=c(0, 1600))
                  </p>
                  <p>
                   # Example 3.12 债券价格时间轨迹
                   <br/>
                   面值1000，期限20年，票息率9%，必要收益率12%的债权逼近到期日的债权价格情况。
                   <br/>
                   CouponRate &lt;- 0.09/2
                   <br/>
                   n &lt;- 20*2
                   <br/>
                   yeild &lt;- 0.12/2
                   <br/>
                   (p1 &lt;- (cumsum(1000*CouponRate*(1/(1+yeild))^(1:n)))[seq(2, 40, by=2)])
                   <br/>
                   (p2 &lt;- (1000*(1/(1+yeild))^(1:n))[seq(2, 40, by=2)] )
                   <br/>
                   (p &lt;- p1 + p2)
                   <br/>
                   year &lt;- 1:20
                   <br/>
                   (cbind(year, p1, p2, p))[20:1,]
                   <br/>
                   year        p1        p2        p
                   <br/>
                   [1,]   20 677.08336  97.22219 774.3055
                   <br/>
                   [2,]   19 668.07086 109.23885 777.3097
                   <br/>
                   [3,]   18 657.94442 122.74077 780.6852
                   <br/>
                   [4,]   17 646.56635 137.91153 784.4779
                   <br/>
                   [5,]   16 633.78195 154.95740 788.7393
                   <br/>
                   [6,]   15 619.41740 174.11013 793.5275
                   <br/>
                   [7,]   14 603.27739 195.63014 798.9075
                   <br/>
                   [8,]   13 585.14248 219.81003 804.9525
                   <br/>
                   [9,]   12 564.76609 246.97855 811.7446
                   <br/>
                   [10,]   11 541.87118 277.50510 819.3763
                   <br/>
                   [11,]   10 516.14645 311.80473 827.9512
                   <br/>
                   [12,]    9 487.24216 350.34379 837.5859
                   <br/>
                   [13,]    8 454.76529 393.64628 848.4116
                   <br/>
                   [14,]    7 418.27428 442.30096 860.5752
                   <br/>
                   [15,]    6 377.27298 496.96936 874.2423
                   <br/>
                   [16,]    5 331.20392 558.39478 889.5987
                   <br/>
                   [17,]    4 279.44072 627.41237 906.8531
                   <br/>
                   [18,]    3 221.27959 704.96054 926.2401
                   <br/>
                   [19,]    2 155.92975 792.09366 948.0234
                   <br/>
                   [20,]    1  82.50267 889.99644 972.4991
                  </p>
                  <p>
                   plot(year, p, type='b', ylim=c(700, 1000))
                  </p>
                  <p>
                   当必要收益率为7%的时候：
                   <br/>
                   yeild &lt;- 0.07/2
                   <br/>
                   (p1 &lt;- (cumsum(1000*CouponRate*(1/(1+yeild))^(1:n)))[seq(2, 40, by=2)])
                   <br/>
                   (p2 &lt;- (1000*(1/(1+yeild))^(1:n))[seq(2, 40, by=2)] )
                   <br/>
                   (p &lt;- p1 + p2)
                   <br/>
                   year &lt;- 1:20
                   <br/>
                   (cbind(year, p1, p2, p))[20:1,]
                   <br/>
                   year        p1       p2        p
                   <br/>
                   [1,]   20 960.97826 252.5725 1213.551
                   <br/>
                   [2,]   19 937.84893 270.5619 1208.411
                   <br/>
                   [3,]   18 913.07222 289.8327 1202.905
                   <br/>
                   [4,]   17 886.53079 310.4761 1197.007
                   <br/>
                   [5,]   16 858.09895 332.5897 1190.689
                   <br/>
                   [6,]   15 827.64204 356.2784 1183.920
                   <br/>
                   [7,]   14 795.01585 381.6543 1176.670
                   <br/>
                   [8,]   13 760.06585 408.8377 1168.904
                   <br/>
                   [9,]   12 722.62654 437.9571 1160.584
                   <br/>
                   [10,]   11 682.52062 469.1506 1151.671
                   <br/>
                   [11,]   10 639.55815 502.5659 1142.124
                   <br/>
                   [12,]    9 593.53568 538.3611 1131.897
                   <br/>
                   [13,]    8 544.23526 576.7059 1120.941
                   <br/>
                   [14,]    7 491.42341 617.7818 1109.205
                   <br/>
                   [15,]    6 434.85005 661.7833 1096.633
                   <br/>
                   [16,]    5 374.24724 708.9188 1083.166
                   <br/>
                   [17,]    4 309.32800 759.4116 1068.740
                   <br/>
                   [18,]    3 239.78489 813.5006 1053.286
                   <br/>
                   [19,]    2 165.28856 871.4422 1036.731
                   <br/>
                   [20,]    1  85.48624 933.5107 1018.997
                  </p>
                  <p>
                   plot(year, p, type='b')
                  </p>
                  <p>
                   假定票息率为10，清算日为1997年7月17日，到期日为2003年3月1日，若必要收益率为6.5%，求债券价格轨迹（30/360规则）
                   <br/>
                   # Example 3.14
                   <br/>
                   CouponRate &lt;- 0.10/2
                   <br/>
                   yeild &lt;- 0.065/2
                   <br/>
                   w &lt;- 44/180
                   <br/>
                   time &lt;- w + 0:11
                   <br/>
                   cf &lt;- c(rep(5, 11), 105)
                   <br/>
                   sum(cf * (1+0.0325)^(-time))
                  </p>
                  <p>
                   例子12和13中出现了必要收益率高于和低于票息率这两种情况，可以看出价格相应的为升高和降低，这算是债券的基本特征之一。
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
                <div class="bbp-reply-header" id="post-268901">
                 <div class="bbp-meta">
                  <span class="bbp-reply-post-date">
                   2009年4月26日 上午4:45
                  </span>
                  <span class="bbp-header">
                   回复：
                   <a class="bbp-topic-permalink" href="http://cos.name/cn/topic/14936/">
                    朱世武《基于SAS系统的金融计算》书中功能用R的实现
                   </a>
                  </span>
                  <a class="bbp-reply-permalink" href="http://cos.name/cn/topic/14936/#post-268901">
                   8 楼
                  </a>
                  <span class="bbp-admin-links">
                  </span>
                 </div>
                 <!-- .bbp-meta -->
                </div>
                <!-- #post-268901 -->
                <div class="odd bbp-parent-forum-1015 bbp-parent-topic-14936 bbp-reply-position-8 user-id-123 topic-author post-268901 reply type-reply status-publish hentry">
                 <div class="bbp-reply-author">
                  <a class="bbp-author-avatar" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   <img src="http://sdn.geekzu.org/avatar/60dea4c8a3f2115785ea7668a3654b2d?s=80&amp;d=monsterid&amp;r=g"/>
                  </a>
                  <br/>
                  <a class="bbp-author-name" href="http://cos.name/cn/profile/123/" rel="nofollow" title="查看abel的档案">
                   abel
                  </a>
                  <br/>
                  <div class="bbp-author-role">
                   版主
                  </div>
                 </div>
                 <!-- .bbp-reply-author -->
                 <div class="bbp-reply-content">
                  <p>
                   投资组合的内生收益率计算
                   <br/>
                   1、确定投资组合中的现金流
                   <br/>
                   2、建立方程式，求解
                  </p>
                  <p>
                   Example 3.9
                   <br/>
                   三种债券，票息支付日相同。投资组合市值为57 259 000元。每只债券的现金流量为：
                   <br/>
                   A &lt;- c(rep(350000, 9), 10350000)
                   <br/>
                   B &lt;- c(rep(1050000, 13), 21050000)
                   <br/>
                   C &lt;- c(rep(900000, 6), 30900000)
                   <br/>
                   len &lt;- 14
                   <br/>
                   port &lt;- cbind(c(A, rep(0, len-length(A))), c(B, rep(0, len-length(B))), c(C, rep(0, len-length(C))))
                   <br/>
                   colnames(port) &lt;- LETTERS[1:3]
                   <br/>
                   port.cf &lt;- apply(port, 1, sum)
                   <br/>
                   cbind(port, port.cf)
                   <br/>
                   A        B        C  port.cf
                   <br/>
                   [1,]   350000  1050000   900000  2300000
                   <br/>
                   [2,]   350000  1050000   900000  2300000
                   <br/>
                   [3,]   350000  1050000   900000  2300000
                   <br/>
                   [4,]   350000  1050000   900000  2300000
                   <br/>
                   [5,]   350000  1050000   900000  2300000
                   <br/>
                   [6,]   350000  1050000   900000  2300000
                   <br/>
                   [7,]   350000  1050000 30900000 32300000
                   <br/>
                   [8,]   350000  1050000        0  1400000
                   <br/>
                   [9,]   350000  1050000        0  1400000
                   <br/>
                   [10,] 10350000  1050000        0 11400000
                   <br/>
                   [11,]        0  1050000        0  1050000
                   <br/>
                   [12,]        0  1050000        0  1050000
                   <br/>
                   [13,]        0  1050000        0  1050000
                   <br/>
                   [14,]        0 21050000        0 21050000
                   <br/>
                   (irr &lt;- irr.NR((cf &lt;- c(-57259000, port.cf))))
                   <br/>
                   结果为：0.0468378
                  </p>
                  <p>
                   验算：
                   <br/>
                   sum(cf * (1/(1+irr))^(0:14)) # 3.993046e-08
                  </p>
                  <p>
                   而原书中结果为：0.0476966
                   <br/>
                   sum(cf * (1/(1+0.0476966))^(0:14)) # 3.993046e-08
                   <br/>
                   验算结果为： -383137.3，误差比较大
                   <br/>
                   最好我们可以得到半年计息的年名义收益率为：0.0468378*2= 0.0936756
                  </p>
                  <p>
                   小结：固定收益证券计算收益率的时候，确定每个时点的现金流量，时点间的时间差，遇到不为整年的情况就依照该证券的规定来处理，这样就可以得到一个方程，使用迭代法求解该房产近似值，然后验算。迭代法推荐使用牛顿法（只在两类情况下，该方法会歇菜，但是上述情况下，初始值选为1的时候，从数学上可以证明不存在这两种情况，所以可以放心使用。该方法收敛的速度很快很快，循环十次足够使用，不相信的同志们可以自己循环下看看。）
                  </p>
                 </div>
                 <!-- .bbp-reply-content -->
                </div>
                <!-- .reply -->
               </li>
               <!-- .bbp-body -->
               <li class="bbp-footer">
                <div class="bbp-reply-author">
                 作者
                </div>
                <div class="bbp-reply-content">
                 帖子
                </div>
                <!-- .bbp-reply-content -->
               </li>
               <!-- .bbp-footer -->
              </ul>
              <!-- #topic-0-replies -->
              <div class="bbp-pagination">
               <div class="bbp-pagination-count">
                查看 15 个帖子 - 166 到 180（总计 871 个）
               </div>
               <div class="bbp-pagination-links">
                <a class="prev page-numbers" href="http://cos.name/cn/profile/123/replies/page/11/">
                 ←
                </a>
                <a class="page-numbers" href="http://cos.name/cn/profile/123/replies/">
                 1
                </a>
                <span class="page-numbers dots">
                 …
                </span>
                <a class="page-numbers" href="http://cos.name/cn/profile/123/replies/page/11/">
                 11
                </a>
                <span class="page-numbers current">
                 12
                </span>
                <a class="page-numbers" href="http://cos.name/cn/profile/123/replies/page/13/">
                 13
                </a>
                <span class="page-numbers dots">
                 …
                </span>
                <a class="page-numbers" href="http://cos.name/cn/profile/123/replies/page/59/">
                 59
                </a>
                <a class="next page-numbers" href="http://cos.name/cn/profile/123/replies/page/13/">
                 →
                </a>
               </div>
              </div>
             </div>
            </div>
            <!-- #bbp-user-replies-created -->
           </div>
          </div>
         </div>
        </div>
        <!-- .entry-content -->
        <footer class="entry-meta">
        </footer>
        <!-- .entry-meta -->
       </article>
       <!-- #post -->
      </div>
      <!-- #content -->
     </div>
     <!-- #primary -->
     <div class="sidebar-container" id="tertiary" role="complementary">
      <div class="sidebar-inner">
       <div class="widget-area">
        <aside class="widget bbp_widget_login" id="bbp_login_widget-2">
         <h3 class="widget-title">
          登录
         </h3>
         <form action="http://cos.name/cn/wp-login.php" class="bbp-login-form" method="post">
          <fieldset>
           <legend>
            登录
           </legend>
           <div class="bbp-username">
            <label for="user_login">
             用户名:
            </label>
           </div>
           <div class="bbp-password">
            <label for="user_pass">
             密码:
            </label>
           </div>
           <div class="bbp-remember-me">
            <label for="rememberme">
             记住用户名
            </label>
           </div>
           <div class="bbp-submit-wrapper">
            <button class="button submit user-submit" id="user-submit" name="user-submit" tabindex="104" type="submit">
             登录
            </button>
           </div>
           <div class="bbp-login-links">
            <a class="bbp-register-link" href="http://cos.name/cn/wp-login.php?action=register" title="注册">
             注册
            </a>
            <a class="bbp-lostpass-link" href="http://cos.name/cn/wp-login.php?action=lostpassword" title="忘记密码">
             忘记密码
            </a>
           </div>
          </fieldset>
         </form>
        </aside>
        <aside class="widget widget_text" id="text-7">
         <h3 class="widget-title">
          搜索
         </h3>
         <div class="textwidget">
          <form action="http://www.google.com/search" id="bbp-search-form" method="get" onsubmit="Gsitesearch(this)" role="search">
           <div>
           </div>
          </form>
          <form id="bbp-search-form-baidu" onsubmit="g(this)" role="search">
           <div>
           </div>
          </form>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-2">
         <h3 class="widget-title">
          新鲜事
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            <a href="http://cos.name/cn/topics/">
             最新帖子
            </a>
           </li>
           <li>
            <a href="http://cos.name/cn/view/popular/">
             最热门主题
            </a>
           </li>
           <li>
            <a href="http://cos.name/cn/view/no-replies/">
             消灭零回复
            </a>
           </li>
          </ul>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-3">
         <h3 class="widget-title">
          RSS订阅
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            <img src="http://cos.name/wp-includes/images/rss.png"/>
            <a href="http://cos.name/cn/topics/feed/">
             所有主题
            </a>
           </li>
           <li>
            <img src="http://cos.name/wp-includes/images/rss.png"/>
            <a href="http://cos.name/cn/forums/feed/">
             所有帖子
            </a>
           </li>
          </ul>
         </div>
        </aside>
       </div>
       <!-- .widget-area -->
      </div>
      <!-- .sidebar-inner -->
     </div>
     <!-- #tertiary -->
    </div>
    <!-- #main -->
    <footer class="site-footer" id="colophon" role="contentinfo">
     <div class="site-info">
      版权所有 © 2014 统计之都 | 由
      <a href="http://wordpress.org/">
       WordPress
      </a>
      构建 | 主题修改自
      <a href="http://wordpress.org/themes/twentythirteen">
       Twenty Thirteen
      </a>
     </div>
     <!-- .site-info -->
    </footer>
    <!-- #colophon -->
   </div>
   <!-- #page -->
  </div>
 </body>
</html>